package tutoria.lobao.poo.exercicio.classpath;

public class Data {
	public int dia;
	public int mes;
	public int ano;

	Data(int dia, int mes, int ano) {
		this.dia = dia;
		this.mes = mes;
		this.ano = ano;
	}

	public void avancar() {

		if (mes == 2) {

			if ((dia != 28) || (dia == 28 && ano % 4 == 0)) {
				if (dia != 28) {
					dia++;
				} else if (ano % 100 != 0) {
					dia++;
				} else {
					if (ano % 400 == 0) {
						dia++;
					} else {
						dia = 1;
						mes++;
					}
				}
			} else {
				dia = 1;
				mes++;
			}

		} else if ((mes == 1 || mes == 3 || mes == 5 || mes == 7 || mes == 8 || mes == 10 || mes == 12)
				&& dia == 31) {
			dia = 1;
			if (mes == 12) {
				mes = 1;
				ano++;
			} else {
				mes++;
			}
		} else if ((mes == 2 || mes == 4 || mes == 6 || mes == 9 || mes == 11) && dia == 30) {
			dia = 1;
			mes++;
		} else {
			dia++;
		}
	}

	@Override
	public String toString() {
		return String.format("%02d/%02d/%04d", dia, mes, ano);
	}

}
